package com.nageoffer.shortlink.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.nageoffer.shortlink.common.dto.admin.req.UserLoginReqDTO;
import com.nageoffer.shortlink.common.dto.admin.req.UserRegisterReqDTO;
import com.nageoffer.shortlink.common.dto.admin.req.UserUpdateReqDTO;
import com.nageoffer.shortlink.common.dto.admin.resp.UserGetRespDTO;
import com.nageoffer.shortlink.admin.dao.entity.User;
import com.nageoffer.shortlink.common.dto.admin.resp.UserLoginRespDTO;

public interface UserService extends IService<User> {
    UserGetRespDTO getUserByName(String username);

    boolean hasUsername(String username);

    void register(UserRegisterReqDTO requestParam);

    void updateInfo(UserUpdateReqDTO requestParam);

    UserLoginRespDTO login(UserLoginReqDTO requestParam);

    boolean checkLogin(String username, String token);

    void logout(String username, String token);

    User getUserByUsername(String username);
}
